package ar.edu.utn.frgp.Banco.actions;

import ar.edu.utn.frgp.Banco.model.Cuenta;
import ar.edu.utn.frgp.Banco.service.BusinessException;
import ar.edu.utn.frgp.Banco.service.IRecursoService;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import org.springframework.beans.factory.annotation.Autowired;

public class AltaExtraccionAction extends ActionSupport implements
		ModelDriven<Cuenta> {

	private static final long serialVersionUID = 1L;

	private String msj;

	private Cuenta cuenta = new Cuenta();
	@Autowired
	private IRecursoService recursoService;

	@Override
	public String execute() {
		// System.out.println(cliente.getDni() + cliente.getNombre() +
		// cliente.getApellido() );

		if (String.valueOf(cuenta.getNrocuenta()) == null ){
			setMsj("nro cuenta invalida");
			return ERROR;
			}
		
		
		
		try {
			/// validar para que el saldo de la cuenta sea mayor que la extraccion y que reste
			cuenta.setSaldo(cuenta.getSaldo()*-1);
			recursoService.ActualizarSaldoCuenta(cuenta);
		} 
//		catch (BusinessException ex) { // Exception primera de logica de negocio
//			setMsj(ex.getMessage());
//			//throw new BusinessException("No tiene saldo suficiente");
//		}
		catch (Exception e) {
			e.printStackTrace();
			return ERROR;
		}
		return SUCCESS;
	}

	public Cuenta getModel() {
		return cuenta;
	}

	public String getMsj() {
		return msj;
	}

	public void setMsj(String msj) {
		this.msj = msj;
	}

}
